package com.sunlee.common.service.service;

import com.sunlee.common.core.entity.PageData;
import com.sunlee.common.service.dto.*;
import com.sunlee.common.service.entity.ThirdProductCategoryMappingEntity;

import java.util.List;
import java.util.Map;

/**
 * 商品分类映射表
 *
 * @author sunlee
 * @date 2023-03-04
 */
public interface ThirdProductCategoryMappingService extends CrudService<ThirdProductCategoryMappingEntity, ThirdProductCategoryMappingDTO> {

    /**
     * 查询分页商品
     *
     * @param params 分页查询参数
     * @return 分类ID
     */
    PageData<ThirdProductDTO> pageRelatedByCid(Map<String, Object> params, long id);

    /**
     * 查询分页商品
     *
     * @param params 分页查询参数
     * @return 分类ID
     */
    PageData<ThirdCategoryDTO> pageRelatedByPid(Map<String, Object> params, long id);

    /**
     * 批量删除关联商品
     *
     * @param categoryId 分类ID
     * @param ids        商品ID集合
     * @return 是否成功
     */
    Integer deleteByCidAndPidBatch(Long categoryId, Long[] ids);

    /**
     * 批量删除关联商品
     *
     * @param productId 商品ID
     * @param ids       分类ID集合
     * @return 是否成功
     */
    Integer deleteByPidAndCidBatch(Long productId, Long[] ids);

    void deleteByPidBatch(List<Long> pIds);

    void editByPid(Long productId, Long[] cIds);

    void deleteByPIds(List<Long> asList);

}
